package com.lion.ball.app.models.result;

import io.swagger.v3.oas.annotations.media.Schema;

/**
 * @author Chris Chan
 * Create on 2025-09-30 22:44
 * Use for: 付款 响应结果
 * Explain:
 * 
 */
@Schema(description = "付款 请求响应结果")
public class TradeGoodsPayResult {
    @Schema(description = "ID", example = "1")
    private long id;
    @Schema(description = "订单编号", example = "1")
    private long orderCode;
    @Schema(description = "实付价格", example = "1")
    private double price;
    @Schema(description = "支付时间", example = "1")
    private long time;
    @Schema(description = "支付渠道 0 - 支付宝扫码, 1 - 支付宝付款码, 2 - 微信扫码,3 - 微信付款码,4 - 银联", example = "1")
    private int channel;

    // 无参构造方法
    public TradeGoodsPayResult() {
    }

    // 全参数构造方法
    public TradeGoodsPayResult(long id, long orderCode, double price, long time, int channel) {
        this.id = id;
        this.orderCode = orderCode;
        this.price = price;
        this.time = time;
        this.channel = channel;
    }

    // 全参数create生成器
    public static TradeGoodsPayResult create(long id, long orderCode, double price, long time, int channel) {
        return new TradeGoodsPayResult(id, orderCode, price, time, channel);
    }

    // 全参数of生成器
    public static TradeGoodsPayResult of(long id, long orderCode, double price, long time, int channel) {
        return new TradeGoodsPayResult(id, orderCode, price, time, channel);
    }
    // region Getter和Setter方法
    public long getId() {
        return id;
    }

    public TradeGoodsPayResult setId(long id) {
        this.id = id;
        return this;
    }

    public long getOrderCode() {
        return orderCode;
    }

    public TradeGoodsPayResult setOrderCode(long orderCode) {
        this.orderCode = orderCode;
        return this;
    }

    public double getPrice() {
        return price;
    }

    public TradeGoodsPayResult setPrice(double price) {
        this.price = price;
        return this;
    }

    public long getTime() {
        return time;
    }

    public TradeGoodsPayResult setTime(long time) {
        this.time = time;
        return this;
    }

    public int getChannel() {
        return channel;
    }

    public TradeGoodsPayResult setChannel(int channel) {
        this.channel = channel;
        return this;
    }

    // endregion Getter和Setter方法
}
